package com.piggy.logi.sys.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.piggy.common.core.annotation.Excel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;

import java.math.BigDecimal;

@Data
@NoArgsConstructor
@Accessors(chain = true)
public class LogiDriverStatisticsVo {

    /** 部门id */
    @ApiModelProperty("部门id")
    @JsonFormat(shape = JsonFormat.Shape.STRING)
    private Long deptId;

    /** 司机id */
    @ApiModelProperty("司机id")
    @JsonFormat(shape = JsonFormat.Shape.STRING)
    private Long driverId;

    /** 司机名称 */
    @Excel(name = "司机名称")
    @ApiModelProperty(value = "司机名称")
    private String driverName;

    /** 驾照 */
    @Excel(name = "驾照")
    @ApiModelProperty(value = "驾照")
    private String licenseType;

    /** 性别 */
    @Excel(name = "性别")
    @ApiModelProperty(value = "性别")
    private String sex;

    /** 身份证号 */
    @Excel(name = "身份证号")
    @ApiModelProperty("身份证号")
    private String idCardNo;

    /** 年龄 */
    @Excel(name = "年龄")
    @ApiModelProperty(value = "年龄")
    private Integer age;

    /** 司机类型 */
    @Excel(name = "司机类型")
    @ApiModelProperty(value = "司机类型")
    private String driverType;

    /** 驾驶车辆 */
    @Excel(name = "驾驶车辆")
    @ApiModelProperty(value = "驾驶车辆")
    private String plateNumber;

    /** 承运线路 */
    @Excel(name = "承运线路")
    @ApiModelProperty(value = "承运线路")
    private Integer carrierLine;

    /** 承运时间（h） */
    @Excel(name = "承运时间（h）")
    @ApiModelProperty(value = "承运时间（h）")
    private Integer carrierTime = 0;

    /** 完成承运量（吨） */
    @Excel(name = "完成承运量（吨）")
    @ApiModelProperty(value = "完成承运量（吨）")
    private BigDecimal finishCarrierQuality = BigDecimal.ZERO;

    /** 承运运单量 */
    @Excel(name = "承运运单量")
    @ApiModelProperty(value = "承运运单量")
    private Integer carrierWaybillNum = 0;

    /** 交易额（万元） */
    @Excel(name = "交易额（万元）")
    @ApiModelProperty(value = "交易额（万元）")
    private BigDecimal tradeAmount = BigDecimal.ZERO;

    /** 完成退货量（吨） */
    @Excel(name = "完成退货量（吨）")
    @ApiModelProperty(value = "完成退货量（吨）")
    private BigDecimal finishReturnQuality = BigDecimal.ZERO;

    /** 退货运单量 */
    @Excel(name = "退货运单量")
    @ApiModelProperty(value = "退货运单量")
    private Integer returnWaybillNum = 0;

    /** 退货交易金额（万元） */
    @Excel(name = "退货交易金额（万元）")
    @ApiModelProperty(value = "退货交易金额（万元）")
    private BigDecimal returnTradeAmount = BigDecimal.ZERO;

    /** 提货及时率 */
    @Excel(name = "提货及时率")
    @ApiModelProperty(value = "提货及时率")
    private String deliveryTimeliness = "0%";

    /** 提货超时时长（h） */
    @Excel(name = "提货超时时长（h）")
    @ApiModelProperty(value = "提货超时时长（h）")
    private BigDecimal deliveryTimeout = BigDecimal.ZERO;

    /** 送达及时率 */
    @Excel(name = "送达及时率")
    @ApiModelProperty(value = "送达及时率")
    private String servedTimeliness = "0%";

    /** 送达超时时长（h） */
    @Excel(name = "送达超时时长（h）")
    @ApiModelProperty(value = "送达超时时长（h）")
    private BigDecimal servedTimeout = BigDecimal.ZERO;

    /** 时间范围 */
    @Excel(name = "时间范围")
    @ApiModelProperty(value = "时间范围")
    private String timeFrame;
}
